﻿// -----------------------------------------------------------------------
// <copyright file="MapTemplate.cs" company="DarkBone">
// DarkBone
// </copyright>
// -----------------------------------------------------------------------

namespace DarkBone.Engine.Collections
{
   using System;
   using System.Diagnostics;
   using System.Drawing;

   /// <summary>
   /// TODO: Update summary.
   /// </summary>
   public class MapTemplate
   {
      #region Constants and Fields

      /// <summary>
      /// The x mover.
      /// </summary>
      public readonly float MoverX;

      /// <summary>
      /// The x ratio.
      /// </summary>
      public readonly float RatioX;

      /// <summary>
      /// The y mover.
      /// </summary>
      public readonly float MoverY;

      /// <summary>
      /// The y ratio.
      /// </summary>
      public readonly float RatioY;

      /// <summary>
      /// The filename.
      /// </summary>
      public readonly string Filename;

      /// <summary>
      /// The hash.
      /// </summary>
      public readonly string HashCode;

      #endregion

      #region Constructors and Destructors

      /// <summary>
      /// Initializes a new instance of the <see cref="MapTemplate"/> class.
      /// </summary>
      /// <param name="hash">The hash.</param>
      /// <param name="filename">The filename.</param>
      /// <param name="ratioX">The x ratio.</param>
      /// <param name="ratioY">The y ratio.</param>
      /// <param name="moverX">The y mover.</param>
      /// <param name="moverY">The x mover.</param>
      public MapTemplate(string hash, string filename, float ratioX, float ratioY, float moverX, float moverY)
      {
         this.HashCode = hash;
         this.Filename = filename;
         this.RatioX = ratioX;
         this.RatioY = ratioY;
         this.MoverX = moverX;
         this.MoverY = moverY;
         this.Background = new Bitmap(1000, 1000);
      }

      /// <summary>
      /// Gets or sets the background.
      /// </summary>
      /// <value>
      /// The background.
      /// </value>
      public Image Background { get; set; }


      #endregion
   }
}
